package cn.duli.myvideo.controller;

import cn.duli.myvideo.pojo.CollectVariety;
import cn.duli.myvideo.service.CollectVarietyService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@CrossOrigin
@RestController
@RequestMapping("/collectVariety")
public class CollectVarietyController {

    @Resource
    private CollectVarietyService collectVarietyService;


    /**
     * 分页查询所有收藏综艺列表
     * @param pageNo
     * @param pageSize
     * @return
     */
    @GetMapping("/findAll")
    public PageInfo<CollectVariety> findAll(
            @RequestParam(defaultValue = "1") int pageNo,
            @RequestParam(defaultValue = "2") int pageSize) {
        PageHelper.startPage(pageNo,pageSize);
        PageInfo<CollectVariety> pageInfo = new PageInfo<>(collectVarietyService.findAll());
        return pageInfo;
    }


    /**
     * 根据综艺id查找此综艺的总数
     * @param vId
     * @return
     */
    @GetMapping("/findCountByVarietyId/{vId}")
    public Integer findCountByVarietyId(@PathVariable("vId") Integer vId){
        return collectVarietyService.findCountByVarietyId(vId);
    }

    /**
     * 根据用户id查看该用户收藏的综艺
     * @param uId
     * @return
     */
    @GetMapping("/findByUserId/{uId}")
    public List<CollectVariety> findByUserId(@PathVariable("uId") Integer uId){
        return collectVarietyService.findByUserId(uId);
    }

    /**
     * 根据综艺id查看该综艺的收藏列表
     * @param vId
     * @return
     */
    @GetMapping("/findByVarietyId/{vId}")
    public List<CollectVariety> findByVarietyId(@PathVariable("vId") Integer vId){
        return collectVarietyService.findByVarietyId(vId);
    }

    /**
     * 新增收藏综艺
     * @param collectVariety
     */
    @PostMapping("/save")
    public void save(@RequestBody CollectVariety collectVariety){
        collectVarietyService.save(collectVariety);
    }

    /**
     * 删除收藏综艺
     * @param cvId
     */
    @RequestMapping("/deleteById/{cvId}")
    public void deleteById(@PathVariable("cvId") Integer cvId){
        collectVarietyService.deleteById(cvId);
    }

}
